--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Node / ReticulumProjects / MeshChatX.git / files / meshchatx / src / frontend / js / networkRecovery.js
Displaying Raw • Download
meshchatx/src/frontend/js/networkRecovery.js e0f1f99cd1c208c5008a936230c38e448dddd45d (e0f1f99c) Text, 1.04 KB
T8b949e// SPDX-License-Identifier: 0BSD
T8b949e/**
* Classify mesh startup / degraded errors for recovery UI.
* Not every failure is an interface config problem.
*/
Tff7b72const Te6edf3INTERFACE_HINTS Tff7b72= Tb4b4b4[
Ta5d6ff"interface"Tb4b4b4,
Ta5d6ff"interfaces"Tb4b4b4,
Ta5d6ff"rnode"Tb4b4b4,
Ta5d6ff"serial"Tb4b4b4,
Ta5d6ff"usb"Tb4b4b4,
Ta5d6ff"autointerface"Tb4b4b4,
Ta5d6ff"tcpclient"Tb4b4b4,
Ta5d6ff"udp"Tb4b4b4,
Ta5d6ff"i2p"Tb4b4b4,
Ta5d6ff"wlan"Tb4b4b4,
Ta5d6ff"kiss"Tb4b4b4,
Ta5d6ff"ax25"Tb4b4b4,
Ta5d6ff"pipeinterface"Tb4b4b4,
Ta5d6ff"rns config"Tb4b4b4,
Ta5d6ff"configobj"Tb4b4b4,
Tb4b4b4]Tb4b4b4;
T8b949e/**
* @param {unknown} error
* @returns {boolean}
*/
Tff7b72export Tff7b72function Te6edf3isLikelyInterfaceRecoveryErrorTb4b4b4(Te6edf3errorTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3text Tff7b72= Tffa657StringTb4b4b4(Te6edf3error Tff7b72|| Ta5d6ff""Tb4b4b4)Tb4b4b4.Te6edf3toLowerCaseTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3textTb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72falseTb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3INTERFACE_HINTSTb4b4b4.Te6edf3someTb4b4b4(Tb4b4b4(Te6edf3hintTb4b4b4) Tb4b4b4=> Te6edf3textTb4b4b4.Te6edf3includesTb4b4b4(Te6edf3hintTb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
T8b949e/**
* Route name to open after degraded startup, or null to leave the user on the
* current page (banner actions still apply).
* @param {unknown} error
* @returns {"interfaces" | null}
*/
Tff7b72export Tff7b72function Te6edf3recoveryRouteForNetworkErrorTb4b4b4(Te6edf3errorTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3isLikelyInterfaceRecoveryErrorTb4b4b4(Te6edf3errorTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72return Ta5d6ff"interfaces"Tb4b4b4;
Tb4b4b4}
Tff7b72return Tff7b72nullTb4b4b4;
Tb4b4b4}
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────